#!/bin/bash

# =======================================================
# 脚本名称: check-kvm.sh
# 脚本功能: 检查系统是否支持硬件虚拟化 (KVM)。
# 主要方法: 使用 grep 和 awk 检查 CPU 信息中的虚拟化标志。
# =======================================================

# 方法一: 使用 grep 检查 /proc/cpuinfo 文件中的虚拟化标志 (vmx 或 svm)
check_virtualization_with_grep() {
    echo "使用 grep 方法检查虚拟化支持..."
    if grep -E -q 'vmx|svm' /proc/cpuinfo; then
        echo "是的，系统支持硬件虚拟化。"
    else
        echo "不，系统不支持硬件虚拟化。"
    fi
}

# 方法二: 使用 awk 检查 /proc/cpuinfo 文件中的虚拟化标志 (vmx 或 svm)
check_virtualization_with_awk() {
    echo "使用 awk 方法检查虚拟化支持..."
    if awk '/vmx|svm/ {print "是的，系统支持硬件虚拟化。"; exit 0} \
            END {print "不，系统不支持硬件虚拟化。"; exit 1}' /proc/cpuinfo; then
        :
    fi
}

# 主函数: 调用所有方法进行虚拟化支持检测
main() {
    echo "开始进行虚拟化支持检查..."
    check_virtualization_with_grep
    check_virtualization_with_awk
}

# 执行主函数
main
